LibreOffice Calc programının standart işlevselliği, metni diğer dillere çevirme işlevlerini içermez. Ancak herhangi bir kullanıcı böyle bir işlevi bağımsız olarak oluşturabilir.
Bu makalede, herhangi bir çalışma sayfasındaki bir hücredeki metni doğrudan çevirmenize olanak tanıyan özel GoogleTranslate_YouLibreCalc() işlevine bakacağız.
İşlev, metni çevirmek için siteyi kullanır "Google Çeviri" ve herhangi bir formülde hem bağımsız olarak hem de diğer standart işlevlerle birlikte kullanılabilir.
Eklemek function Google Translate , menüyü aç Tools - Macros - Edit Macros... , seçme Module1 ve aşağıdaki metni modüle kopyalayın:
Option VBASupport 1 Function GoogleTranslate_YouLibreCalc(TextToTranslate As String, SrcLang As String, TrgLang As String) ' moonexcel.com.ua Dim FCalc As Object Dim WebsiteURL As String Dim XMLHTTP As Object Dim oHTML As Object Dim HTMLDoc As HTMLDocument Dim ObjClass As Object FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess") TextToTranslate = FCalc.callFunction("ENCODEURL", Array(TextToTranslate)) SrcLang = LCase(SrcLang) TrgLang = LCase(TrgLang) IF SrcLang = "zh-cn" Then SrcLang = "zh-CN" IF SrcLang = "zh-tw" Then SrcLang = "zh-TW" IF TrgLang = "zh-cn" Then TrgLang = "zh-CN" IF TrgLang = "zh-tw" Then TrgLang = "zh-TW" WebsiteURL = "https://translate.google.com/m?sl=" + SrcLang + "&tl=" + TrgLang + "&hl=en&q=" + TextToTranslate ' API çağrısını web sunucusuna AJAX isteğini kullanarak yürütüyoruz Set XMLHTTP = CreateObject("MSXML2.ServerXMLHTTP") XMLHTTP.Open "GET", WebsiteURL, False XMLHTTP.Send ' AJAX isteğinin yanıt metnini kullanarak bir HTML belgesi oluşturuyoruz Set oHTML = CreateObject("HTMLFile") With oHTML .Open .Write XMLHTTP.responseText .Close End With ' Web öğeleri kütüphanesini kullanarak HTML metnini bir nesne modeline dönüştürüyoruz Microsoft HTML Object Kütüphane Set HTMLDoc = oHTML Set ObjClass = HTMLDoc.getElementsByClassName("result-container").Item(0) If Not ObjClass Is Nothing Then GoogleTranslate_YouLibreCalc = ObjClass.innerText End If ' Hafızayı serbest bırakıyoruz Set ObjClass = Nothing Set oHTML = Nothing Set XMLHTTP = Nothing End Function
Sonraki, kapat Macro Editor ve çalışma sayfasına geri dönün LibreOffice Calc , herhangi bir hücreyi seçin ve yeni özelliğimizi kullanın GoogleTranslate_YouLibreCalc() .
Ücretsiz uzantıyı yükleyerek GOOGLETRANSLATE() işlevini de kullanabilirsiniz. YouLibreCalc.oxt veya tam özellikli sürümü YLC_Utilities.oxt .
Bundan sonra bu fonksiyon LibreOffice Calc'de açılacak tüm dosyalarda mevcut olacaktır.